@import url("creative.css");


    /*      STYLE DU MENU DE TOUS LES ARTICLES      */


    /* Style du conteneur des cartes */
	.conteneur-cartes {
    display: grid; /* On passe de flex à grid */
    
    /* Crée autant de colonnes de 300px que possible et les centre */
    grid-template-columns: repeat(auto-fit, 320px); 
    justify-content: center; /* Centre la grille entière dans la page */
    
    gap: 30px; 
    margin: 40px auto;
    max-width: 1400px; 
    padding: 0 15px;
}

    /* Style de la partie contenant l'image, le titre, la description et "En savoir plus" */
    .contenu-carte {
        display: flex; /* Transforme le bloc blanc de l'article en un conteneur intelligent*/
        flex-direction: column;
        height: 100%;/* Garantit que le fond blanc de l'article s'étire bien jusqu'en bas*/
    }


    /* Style de la carte */
    .carte-menu {
    position: relative;
    margin-top: 50px;
    width: 100%; /* La carte prend toute la largeur de sa cellule de grille (320px) */
    border: 1px solid transparent;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
} 

    /* Style de l'image de la carte */
    .carte-menu img {
        width: 100%; /* Définir une largeur fixe pour toutes les images */
        height: 200px; /* Définir une hauteur fixe pour toutes les images */
        object-fit: cover; /* Pour s'assurer que l'image remplit complètement son conteneur tout en conservant ses proportions */
    }

    /* Style du titre de la carte dans le menu (page "Nos articles") */
    .carte-menu h3 {
        padding-top: 2px;
		padding-bottom: 10px;
		padding-left: 13px;
        background-color: transparent;
		text-align: left;
        margin: 0;
        font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-weight: bold; /* Mettre le texte en gras */
		font-size: 22px; /* Définir la taille de la police */
    }

	.carte-menu h4 {
		padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
        margin: 0;
		text-align: left;
        font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 13px; /* Définir la taille de la police */
		color: grey;
	}

	.carte-menu h5 {
		padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
        margin-top: auto; /* Pousse le bloc vers le bas pour aligner tous les 'Lire la suite' en bas de carte */
		text-align: right;
        font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 13px; /* Définir la taille de la police */
		color: grey;
	}


    /* Style de la description de la carte */
    .carte-menu p {
        padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
        margin: 0;
		text-align: justify;
        font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 14px; /* Définir la taille de la police */
    }

	.carte-menu a {
		color: black; /* Couleur du lien par défaut */
    	text-decoration: none; /* Supprime le soulignement par défaut des liens */
	}

	.carte-menu a:hover { /* On utilise hover pour l'effet de survol */
		color: #35B095; /* Couleur du lien au survol */
	}

    /*      STYLE DES ARTICLES      */

    /* Style du conteneur de la carte de l'article */
	.conteneur-carte-article {
    	display: flex; /* permet d'aligner les cartes horizontalement*/
    	justify-content: space-between; /* Espace équitable entre les cartes */
    	justify-content: center;
    	flex-wrap: wrap; /* Permet le retour à la ligne si l'espace est insuffisant */
    	margin: 40px;
    	margin-top: 55px;
    }

    .carte {
    	position: relative;
    	width: 850px;	/*FIXE : On définit une largeur stable pour les ordinateurs */
    	max-width: 95%;	/*SÉCURITÉ : Empêche la carte de déborder si la fenêtre fait moins de 800px */
		margin: 40px auto; /* Centre la carte horizontalement */
		padding: 30px; /* Optionnel, pour ajouter de l'espace à l'intérieur de la carte */
		background-color: #fff; /* Couleur de fond*/
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Optionnel, pour ajouter une ombre à la carte */
		border-radius: 8px; /* Optionnel, pour arrondir les coins */
		box-sizing: border-box; /* Important pour que le padding ne fausse pas la largeur */
	}
        

    /* Style de l'image de la carte */
    .carte img {
    	width: 90%; /* Définir une largeur fixe pour toutes les images */
    	height: auto; /* Garder les proportions de l'image */
    	display: block; /* Pour permettre à margin: auto de fonctionner */
    	margin: 0 auto; /* Centrer l'image horizontalement */
    }

    /* Style du titre de la carte */
    .carte h3 {
    	padding-top: 2px;
		padding-bottom: 10px;
		padding-left: 13px;
    	background-color: transparent;
		text-align: left;
    	margin: 0;
    	font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-weight: bold; /* Mettre le texte en gras */
    }

	.carte h4 {
		padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
    	margin: 0;
		text-align: left;
    	font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 15px; /* Définir la taille de la police */
		color: grey;
	}

	.carte h5 {
		padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
    	margin: 0;
		text-align: right;
    	font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 13px; /* Définir la taille de la police */
		color: grey;
	}

    /* Style de la description de la carte */
    .carte p {
    	padding: 15px; /*padding définit l'espace intérieur d'un élément, c'est-à-dire l'espace entre le contenu de l'élément et ses bords.*/
    	margin: 0;
		text-align: justify;
    	font-family:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 16px; /* Définir la taille de la police */
    }

    /* Style des listes à puces dans l'article */
    .carte ul {
        padding-left: 40px;   /* Espace à gauche pour décaler les puces du bord */
        margin-bottom: 20px;  /* Espace sous la liste avant le paragraphe suivant */
    }

    .carte li {
        font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; /* Cohérence avec le reste du texte */
        font-size: 16px;      /* Même taille que tes paragraphes <p> */
        line-height: 1.2;     /* Aère l'espace entre chaque ligne de la liste */
        margin-bottom: 8px;   /* Petit espace entre chaque puce */
        color: #333;          /* Couleur légèrement moins sombre que le noir pur */
        text-align: justify;  /* Aligne le texte proprement comme tes paragraphes */
    }

	.carte a {
		color: black; /* Couleur du lien par défaut */
    	text-decoration: none; /* Supprime le soulignement par défaut des liens */
	}

	.carte a:hover { /* On utilise hover pour l'effet de survol */
		color: #35B095; /* Couleur du lien au survol */
	}

	/* C'est pour l'article 3 sur la couleur du lien sur "des prestations" vers la page prestations */
	.colored-link {
		color: #35B095; /* Change la couleur du texte */
		text-decoration: none; /* Enlève le soulignement */
		font-weight: bold; /* Rend le texte plus épais */
	}

    /* --- STYLE DU TITRE (ORDINATEUR) --- */
    .header-content {
        text-align: center;
        padding: 50px 20px; /* Donne de la hauteur à l'image de fond sur PC */
    }

    .header-content h1 span {
        font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
        font-size: 70px; /* Titre plus grand sur ordinateur */
        font-weight: 800;
        line-height: 1.2;
        color: #ffffff;
        text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5); /* Ombre pour la lisibilité */
        display: inline-block;
        max-width: 900px;
        padding: 10px;
    }

    /* Style des images dans l'article */
	.images-cote-a-cote {
	/* Active le mode Flexbox sur le conteneur */
		display: flex; 
	/* Centre les images horizontalement */
		justify-content: center; 
	/* Supprimez le text-align: center; si vous l'aviez gardé */
	}

	.images-cote-a-cote img {
	/* Définit la largeur de chaque image (ex: 40% de la figure) */
		width: 40%;
		height: auto;
		margin: 0 10px; 	/* Ajoute un espacement entre les deux images */
	}

	/* Style pour la légende des photos */
	figcaption {
        font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
		font-size: 13px;       /* Taille plus petite */
		font-style: italic;     /* Texte en italique */
		color: #666;           /* Gris (vous pouvez aussi utiliser 'grey') */
		margin-top: 8px;       /* Petit espace avec la photo */
		text-align: center;    /* Assure le centrage sous l'image */
	}




    
    /* Styles optimisés pour mobile */
	@media screen and (max-width: 600px) {
	.carte-menu {
		/* Force la carte à prendre la largeur complète sur mobile */
		max-width: 100; 
		min-width: 100%; 
		flex-basis: 100%; 
	}
			
		/* Optionnel: réduire le gap sur mobile */
	.conteneur-cartes {
		gap: 15px;
	}  

    /* Supprime les marges extérieures inutiles sur petit écran */
    .conteneur-carte-article {
      margin: 10px 0; 
      padding: 0;
    }

    /* La carte occupe presque 100% de la largeur du téléphone */
    .carte {
      width: calc(100% - 20px) !important; 
      min-width: auto !important; 
      margin: 10px auto !important;
      padding: 15px; 
      border-radius: 4px; 
    }

    /* Style du titre principal sur Ordinateur */
	.header-content h1 span {
    font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
    font-size: 45px;
    font-weight: bold;
    line-height: 1.2;
    color: #ffffff;
    
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5); /* Lisibilité : une ombre portée subtile */

    
    /* On limite la largeur pour que le titre ne traverse pas tout l'écran */
    display: inline-block;
    max-width: 800px;
    padding: 10px;
	}

	/* On centre le contenu du header */
	.header-content {
		text-align: center;
		padding: 100px 20px; /* Donne de la hauteur à l'image de fond */
	}

    /* Centrage forcé pour les figures (conteneurs d'images) */
    figure {
      margin: 20px 0 !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important; /* Centre l'image et la légende */
    }

    /* Empilement vertical des images côte à côte */
    .images-cote-a-cote {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important; /* Centre les images empilées */
    }

    /* Réglage de toutes les images pour qu'elles soient centrées et à 90% de la carte */
    .carte img, 
    .images-cote-a-cote img, 
    figure img {
      width: 90% !important; /* Prend toute la largeur interne de la carte blanche */
      max-width: 90% !important;
      height: auto !important;
      display: block !important;
      margin-left: auto !important;
      margin-right: auto !important;
      margin-top: 10px !important;
      margin-bottom: 10px !important;
    }

    /* Centrage de la légende grise sous l'image */
    figcaption {
      text-align: center !important;
      width: 100% !important;
    }
  }